{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "eecd58b1",
   "metadata": {},
   "source": [
    "# 14 - 双重差分\n",
    "\n",
    "## 巴西南部的三个广告牌\n",
    "\n",
    "\n",
    "我记得当我从事营销工作时，互联网广告是一个很棒的途径。不是因为它非常有效（尽管确实如此），而是因为很容易知道它是否有效。通过在线营销，您可以了解哪些客户看到了广告，并且您可以使用 cookie 跟踪他们，看看他们是否最终出现在您的目标网页上或点击了某个下载按钮。您还可以使用机器学习来寻找与您的客户非常相似的潜在客户，并仅向他们展示广告。从这个意义上说，在线营销非常精确：您只针对您想要的人，您可以查看他们是否按照您的意愿做出反应。\n",
    "\n",
    "但并不是每个人都容易受到网络营销的影响。有时你不得不求助于不太精确的技术，比如电视宣传或在街上放置广告牌。通常，营销渠道的多样性是营销部门所寻求的。但是，如果在线营销是捕捉特定类型金枪鱼的专业钓鱼竿，那么广告牌和电视就是你向鱼群扔的大网，并希望至少能钓到一些大鱼。广告牌和电视广告的另一个问题是很难知道它们的效果如何。当然，您可以在某处放置广告牌之前和之后测量购买量，或任何您想驱动的东西。如果有增加，则有一些证据表明营销是有效的。但是你怎么知道这种增加是否不仅仅是你产品认知度的某种自然趋势？换句话说，如果你一开始没有设置广告牌，你怎么知道反事实的 \\\\(Y_0\\\\) 会发生什么？\n",
    "\n",
    "![img](./data/img/diff-in-diff/secrets.png)\n",
    "\n",
    "回答这些类型问题的一种技术是双重差分，或简称 diff-in-diff。 Diff-in-diff 通常用于评估宏观干预的影响，例如移民对失业的影响、枪支法变化对犯罪率的影响，或者仅仅是营销活动导致的用户参与度差异。在所有这些情况下，您在干预之前和之后都有一段时间，并且您希望从总体趋势中解开干预的影响。作为一个激励性的例子，让我们看一个与我必须回答的问题类似的问题。\n",
    "\n",
    "为了弄清楚广告牌作为营销渠道的效果如何，我们在南里奥格兰德州（Rio Grande do Sul）首府阿雷格里港市（city of Porto Alegre）放置了 3 个广告牌。我们想看看这是否会增加我们储蓄账户的存款。对于那些不太熟悉巴西地理的人来说，南里奥格兰德州是该国南部的一部分，是最发达的地区之一。\n",
    "\n",
    "考虑到这一点，我们决定还查看来自南部的另一个首府——圣卡塔琳娜州（Santa Catarina）首府弗洛里亚诺波利斯（Florianopolis）的数据。这个想法是，我们可以使用弗洛里亚诺波利斯作为控制样本来估计与阿雷格里港相比的反事实 \\\\(Y_0\\\\) （顺便说一下，这不是真正的实验，真的实验是保密的，但这个想法非常相似)。我们在阿雷格里港的广告牌放置了一整个六月。我们拥有的数据如下所示："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "131b69d0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from matplotlib import style\n",
    "from matplotlib import pyplot as plt\n",
    "import seaborn as sns\n",
    "import statsmodels.formula.api as smf\n",
    "\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "style.use(\"fivethirtyeight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c7086c20",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>deposits</th>\n",
       "      <th>poa</th>\n",
       "      <th>jul</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>42</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>52</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>119</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>21</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   deposits  poa  jul\n",
       "0        42    1    0\n",
       "1         0    1    0\n",
       "2        52    1    0\n",
       "3       119    1    0\n",
       "4        21    1    0"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv(\"data/billboard_impact.csv\")\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "99217c27",
   "metadata": {},
   "source": [
    "请记住，存款是我们的结果变量，是我们希望通过广告牌增加的目标。 POA 是阿雷格里港市的虚拟指标。当它为零时，表示样本来自弗洛里亚诺波利斯。 Jul 是 7 月份或干预后时期的虚拟变量。当它为零时，它指的是干预前时期 5 月的样本。\n",
    "\n",
    "## DID 估计器\n",
    "\n",
    "为了避免混淆时间和干预，从现在开始，我将用 D 表示治疗，用 T 表示时间。设 \\\\(Y_D(T)\\\\) 是干预 D 在时间段 T 的潜在结果。在我们有能力观察反事实的理想世界中，我们将通过以下方式估计干预的效果：\n",
    "\n",
    "$\n",
    "\\hat{ATET} = E[Y_1(1) - Y_0(1)|D=1]\n",
    "$\n",
    "\n",
    "换句话说，因果效应是干预后干预期间的结果减去干预后期间的结果，但在没有治疗的情况下。当然，我们无法衡量这一点，因为 \\\\(Y_0(1)\\\\) 是反事实的。\n",
    "\n",
    "解决此问题的一种方法是进行前后比较。\n",
    "\n",
    "$\n",
    "\\hat{ATET} = E[Y(1)|D=1] - E[Y(0)|D=1]\n",
    "$\n",
    "\n",
    "在我们的示例中，我们将比较放置广告牌之前和之后 POA 的平均存款。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "53bb3ae8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "41.04775"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "poa_before = data.query(\"poa==1 & jul==0\")[\"deposits\"].mean()\n",
    "\n",
    "poa_after = data.query(\"poa==1 & jul==1\")[\"deposits\"].mean()\n",
    "\n",
    "poa_after - poa_before"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86c62ab8",
   "metadata": {},
   "source": [
    "该估计器告诉我们，我们应该预计在干预后存款将增加 41,04 雷亚尔。但是我们可以相信这个吗？\n",
    "\n",
    "请注意 \\\\(E[Y(0)|D=1]=E[Y_0(0)|D=1]\\\\)，即在**干预之前**，被干预对象的观察结果是等于干预前其对应的反事实结果。由于我们使用\\\\(E[Y_0(1)|D=1]\\\\)来估计干预后的反事实 ，因此上面的估计假设 \\\\(E[Y_0(1)| D=1] = E[Y_0(0)|D=1]\\\\)。\n",
    "\n",
    "就是说，在不干预的情况下，后期的结果与开始阶段的结果相同。但是如果您的结果变量遵循任何趋势，第一句的假设显然是错误的。例如，假设 POA 的存款有上升趋势，那么\\\\(E[Y_0(1)|D=1] > E[Y_0(0)|D=1]\\\\)，即后一时期即使在没有干预的情况下，其结果也比开始阶段的要大。使用类似的论点，如果 Y 的趋势下降，\\\\(E[Y_0(1)|D=1] < E[Y_0(0)|D=1]\\\\)。这是为了表明直接进行前后比较的方法不是一个很好的估计量。\n",
    "\n",
    "另一个想法是将干预组与未接受干预的对照组进行比较：\n",
    "\n",
    "$\n",
    "\\hat{ATET} = E[Y(1)|D=1] - E[Y(1)|D=0]\n",
    "$\n",
    "\n",
    "在我们的示例中，将比较 POA 与 Florianopolis 在干预后时期的存款。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "79bb24b3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-119.10175000000001"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fl_after = data.query(\"poa==0 & jul==1\")[\"deposits\"].mean()\n",
    "poa_after - fl_after"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a4719e00",
   "metadata": {},
   "source": [
    "该估计器告诉我们，这个营销活动会带来损害，客户将减少 119.10 雷亚尔的存款。\n",
    "\n",
    "注意 \\\\(E[Y(1)|D=0]=E[Y_0(1)|D=0]\\\\)。由于我们使用 \\\\(E[Y(1)|D=0]\\\\) 来估计干预后实验组的反事实，假设我们可以像这样替换缺失的反事实：\\\\(E[ Y_0(1)|D=0] = E[Y_0(1)|D=1]\\\\)。但请注意，只有当两组的基线水平非常相似时，这才是正确的。例如，如果弗洛里亚诺波利斯的存款比阿雷格里港多，这将不正确，因为 \\\\(E[Y_0(1)|D=0] > E[Y_0(1)|D=1]\\\\)。另一方面，如果弗洛里亚诺波利斯的存款水平较低，我们将有 \\\\(E[Y_0(1)|D=0] < E[Y_0(1)|D=1]\\\\)。\n",
    "\n",
    "同样，这仍然不是一个好主意。为了解决这个问题，我们可以同时使用空间和时间比较。这就是双重差分方法的思想。它通过以下方式替换缺少的反事实来工作：\n",
    "\n",
    "$\n",
    "E[Y_0(1)|D=1] = E[Y_1(0)|D=1] + (E[Y_0(1)|D=0] - E[Y_0(0)|D=0])\n",
    "$\n",
    "\n",
    "这样做是在 ** 干预之前 ** 获取实验对象并向其添加趋势分量，该分量使用控制组 \\\\(E[Y_0(1)|T=0] - E[Y_0(0) |T=0]\\\\)来估计得到。换句话说，这表示，如果没有干预发生，实验组在**干预后**会看起来就像**干预前的**实验组加上一个与对照组增长量相同的增长因子。\n",
    "\n",
    "需要注意的很重要的一点是，这是假设了实验组和控制组在时间上的趋势是相同的：\n",
    "\n",
    "$\n",
    "E[Y_0(1) - Y_0(0)|D=1] = E[Y_0(1) - Y_0(0)|D=0]\n",
    "$\n",
    "\n",
    "其中等式左侧是反事实趋势。现在，我们可以替换干预效果定义中估计的反事实 \\\\(E[Y_1(1)|D=1] - E[Y_0(1)|D=1]\\\\)\n",
    "\n",
    "$\n",
    "\\hat{ATET} = E[Y(1)|D=1] - (E[Y(0)|D=1] + (E[Y(1)|D=0] - E[Y(0) |D=0])\n",
    "$\n",
    "\n",
    "如果我们重新排列这些项，我们会得到经典的 Diff-in-Diff 估计量。\n",
    "\n",
    "$\n",
    "\\hat{ATET} = (E[Y(1)|D=1] - E[Y(1)|D=0]) - (E[Y(0)|D=1] - E[Y(0 )|D=0])\n",
    "$\n",
    "\n",
    "它之所以得名，是因为它区分了干预前后实验组与对照组之间的差异。\n",
    "\n",
    "这是对应的代码。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "52b7bcfc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6.524557692307688"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fl_before = data.query(\"poa==0 & jul==0\")[\"deposits\"].mean()\n",
    "\n",
    "diff_in_diff = (poa_after-poa_before)-(fl_after-fl_before)\n",
    "diff_in_diff"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "401d20a3",
   "metadata": {},
   "source": [
    "Diff-in-Diff 告诉我们，我们应该预计每位客户的存款将增加 6.52 雷亚尔。 请注意，diff-in-diff 所做的假设比其他 2 个估计量更合理。 它只是假设两个城市之间的增长模式是相同的。 但这并不要求它们具有相同的基本水平，也不要求趋势为零。\n",
    "\n",
    "为了可视化 diff-in-diff 的作用，我们可以将未处理的增长趋势投影到已处理的增长趋势，以查看反事实，即如果没有干预，我们应该预期的存款数量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1c54fa7b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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rr/+erhcLvWcoqIi/PSnP8X+/ftRVlYGs9mMqVOnxvIxiIiIiCIiiiIUJbRMu8fj6aXWhOr3wfPyyy+HVquFzWbDtddeG/b++++/j7Vr1+Lqq68GAFRVVaGysjLknLS0NMyYMQPbt29HWVkZbr75ZkiSFJP2ExEREXVHRkYGPvnkk5BjbX/uLf16qB0ABEHAvn378PHHH0Ov14e9P3ToULz00kv4/PPP8a9//Qu33HILdDpd2HkLFizAH/7wB3z66aeYN29eLJpORERE1G2FhYUoKyvDtm3bcPToUWzcuBHvv/9+bzcLwDkQPAEgOTkZKSkp7b7361//Gk1NTZgyZQpuueUW/OAHP8CgQYPCzrvsssswYMAATJ48Geedd15PN5mIiIgoYrIsq6Ox06ZNw/3334+f//znmDJlCr755hssXry4l1vow73aI9TS0oKRI0di3bp1uPHGG3u7OURERESqWbNm4bzzzsMTTzzR203pVL+f43m2ZFlGVVUVnn76aRiNRnzve9/r7SYRERERAQBsNhvef/997Nu3D4sWLert5nSJwbMLx48fx/nnn4+BAweipKSk3fmfRERERL3hhz/8IY4ePYq7774bM2bM6O3mdIlD7UREREQUE+fE4iIiIiIi6n0MnkREREQUEwyeRERERBQTDJ5EREREFBMMnkREREQUEwyeRERERBQT/x8p9sbDhT9xpgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "plt.plot([\"May\", \"Jul\"], [fl_before, fl_after], label=\"FL\", lw=2)\n",
    "plt.plot([\"May\", \"Jul\"], [poa_before, poa_after], label=\"POA\", lw=2)\n",
    "\n",
    "plt.plot([\"May\", \"Jul\"], [poa_before, poa_before+(fl_after-fl_before)],\n",
    "         label=\"Counterfactual\", lw=2, color=\"C2\", ls=\"-.\")\n",
    "\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bbaecad4",
   "metadata": {},
   "source": [
    "看到红色和黄色虚线之间的细微差别了吗？如果你真的专注，你可以看到阿雷格里港小小的干预效果。\n",
    "\n",
    "![img](./data/img/diff-in-diff/cant-read.png)\n",
    "\n",
    "\n",
    "现在，您可能会问自己“我能相信这个估计器多少？我有权了解对应的标准误！”。这是有道理的，因为没有标准误的估计器看起来很傻。为此，我们将使用一个使用回归的巧妙技巧。具体来说，我们将估计以下线性模型\n",
    "\n",
    "$\n",
    "Y_i = \\beta_0 + \\beta_1 POA_i + \\beta_2 Jul_i + \\beta_3 POA_i*Jul_i + e_i\n",
    "$\n",
    "\n",
    "请注意，\\\\(\\beta_0\\\\) 是控制组的基线。在我们的例子中，是 5 月份弗洛里亚诺波利斯的存款水平。如果我们将干预过的城市对应的虚拟变量设为1，我们会得到 \\\\(\\beta_1\\\\)。所以 \\\\(\\beta_0 + \\beta_1\\\\) 是阿雷格里港 5 月份干预前的基线，而 \\\\(\\beta_1\\\\) 是阿雷格里港基线在弗洛里亚诺波利斯之上的增量。如果我们关闭 POA 虚拟变量并打开 7 月虚拟变量，我们会得到 \\\\(\\beta_0 + \\beta_2\\\\)，即干预期后 Florianópolis 在 7 月的水平。 \\\\(\\beta_2\\\\) 是控制组的趋势，因为我们将它添加到基线之上以获得干预后时期的控制水平。回顾一下，\\\\(\\beta_1\\\\) 是我们从处理到控制得到的增量，\\\\(\\beta_2\\\\) 是我们从之前的时期到之后的时期得到的增量干涉。最后，如果我们打开两个虚拟变量，我们会得到 \\\\(\\beta_3\\\\)。 \\\\(\\beta_0 + \\beta_1 + \\beta_2 + \\beta_3\\\\) 是干预后阿雷格里港的水平。所以 \\\\(\\beta_3\\\\) 是从 5 月到 7 月以及从弗洛里亚诺波利斯到 POA 的增量影响。换句话说，它是差异估计量的差异。\n",
    "\n",
    "如果您不相信我，请自己检查。你应该得到与我们上面得到的完全相同的数字。还要注意我们是如何得到我们想要的标准误的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "a38cf379",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>  171.6423</td> <td>    2.363</td> <td>   72.625</td> <td> 0.000</td> <td>  167.009</td> <td>  176.276</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>poa</th>       <td> -125.6263</td> <td>    4.484</td> <td>  -28.015</td> <td> 0.000</td> <td> -134.418</td> <td> -116.835</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>jul</th>       <td>   34.5232</td> <td>    3.036</td> <td>   11.372</td> <td> 0.000</td> <td>   28.571</td> <td>   40.475</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>poa:jul</th>   <td>    6.5246</td> <td>    5.729</td> <td>    1.139</td> <td> 0.255</td> <td>   -4.706</td> <td>   17.755</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "smf.ols('deposits ~ poa*jul', data=data).fit().summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6fdf9bd9",
   "metadata": {},
   "source": [
    "## 非平行趋势\n",
    "\n",
    "Diff-in-Diff 实际应用中的一个明显问题是不能满足平行趋势假设。如果实验组的增长趋势与对照组的趋势不同，则 diff-in-diff 将有偏差。这是非随机数据的常见问题，其中对某区域进行干预的决定是基于其对干预反应的良好潜力，或者当干预针对业务表现不佳的区域时。以我们的营销为例。我们决定在阿雷格里港测试广告牌，并不是为了检查广告牌的总体效果。原因只是因为那里的销售表现不佳。也许在线营销在那里不起作用。在这种情况下，假设没有广告牌，我们在阿雷格里港潜在看到的增长可能低于我们在其他城市观察到的增长。这会导致我们低估那里的广告牌的影响。\n",
    "\n",
    "检查是否发生这种情况的一种方法是使用过去时期的数据绘制趋势。例如，假设 POA 有小幅下降趋势，但 Florianopolis 呈急剧上升趋势。在这种情况下，显示以前的时期将揭示这些趋势，我们会知道 Diff-in-Diff 不是可靠的估计量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "95df4af7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10,5))\n",
    "x = [\"Jan\", \"Mar\", \"May\", \"Jul\"]\n",
    "\n",
    "plt.plot(x, [120, 150, fl_before,  fl_after], label=\"FL\", lw=2)\n",
    "plt.plot(x, [60, 50, poa_before, poa_after], label=\"POA\", lw=2)\n",
    "\n",
    "plt.plot([\"May\", \"Jul\"], [poa_before, poa_before+(fl_after-fl_before)], label=\"Counterfactual\", lw=2, color=\"C2\", ls=\"-.\")\n",
    "\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "122c0670",
   "metadata": {},
   "source": [
    "我们将看到如何使用合成控制来解决这个问题。它将利用多个城市构造一个密切贴合我们感兴趣城市趋势的合成城市。但是现在，请记住，在应用 diff-in-diff 时，您总是需要检查是否有平行趋势。\n",
    "\n",
    "![img](./data/img/diff-in-diff/non-parallel.png)\n",
    "\n",
    "值得一提的最后一个问题是，如果您只有聚合数据，您将无法在使用 Diff-in-Diff 估计器的时候估计置信区间。例如，假设您没有关于我们来自 Florianópolis 或 Porto Alegre 的每个客户所做的事情的数据。相反，您只有两个城市干预前后的平均存款。在这种情况下，您仍然可以通过 Diff-in-Diff 估计因果效应，但您不会知道它的方差。那是因为数据中的所有可变性都在聚合中被压扁了。\n",
    "\n",
    "## 关键思想\n",
    "\n",
    "当我们在更宏观的实体（学校、城市、州、国家......）估计因果效应时，我们探索了一种广泛应用的技术。双重差分观察干预前后实验组的变化，并将结果的趋势与对照组的结果趋势进行比较。在这里，我们看到了如何将其应用于评估特定城市营销活动的效果。\n",
    "\n",
    "最后，我们研究了如果实验组和对照组之间的趋势不同，Diff-in-Diff 是如何失败的。我们还了解了如果我们只有聚合数据，diff-in-diff 将如何产生问题。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
